﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Configuration;
using System.ComponentModel;
using MySql.Data.MySqlClient;
using Mx.Ipn.Escom.TT20080015.Modelo.Datos;
using Mx.Ipn.Escom.TT20080015.Modelo.DB;

namespace Mx.Ipn.Escom.TT20080015.Modelo.DB
{
    /// <summary>
    /// La clase RegionManager contiene métodos que permiten la gestión con la tabla "pais" de la base de datos.
    /// </summary>
    public class RegionManager : ConexionMySql
    {
        /// <summary>
        /// Consulta de estados de acuerdo al identificador de la tabla pais.
        /// </summary>
        /// <param name="idPais">Es el identificador del pais al que pertenece el estado </param>
        /// <returns>Un objeto dataset con el conjunto de los nombres de estados y su identificador</returns>
        [DataObjectMethod(DataObjectMethodType.Select)]
        public static DataSet ConsultarEstados(int idPais)
        {
            MySqlCommand command = getcommand();

            command.CommandText = "CALL consultar_estados(?idPais)";
            command.Parameters.Add("?idPais", idPais);
            try //Cachar la excepción con el método que invoque a este como un throws MySqlException
            {
                command.Connection.Open();
                command.Prepare();
                command.ExecuteScalar();
            }
            finally
            {
                command.Connection.Close();
            }

            MySqlDataAdapter da = new MySqlDataAdapter(command);
            DataSet ds = new DataSet();
            da.Fill(ds, "estados");

            return ds;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public static DataSet ConsultarPaises()
        {
            MySqlCommand command = getcommand();

            command.CommandText = "CALL consultar_paises";
            try
            {
                command.Connection.Open();
                command.Prepare();
                command.ExecuteScalar();
            }
            finally
            {
                command.Connection.Close();
            }

            MySqlDataAdapter da = new MySqlDataAdapter(command);
            DataSet ds = new DataSet();
            da.Fill(ds, "paises");
            da.Fill(ds);

            return ds;
        }

    }
}
